//###########################################################################
//
// FILE:    fft_flattop_Q31.h
//
// TITLE:   Fixed Point fft Flattop Window header file.
//
// VERSION: 1.0.0
//
// DATE:    2025-01-15
//
//###########################################################################
// $Copyright:
// Copyright (C) 2024 Geehy Semiconductor - http://www.geehy.com/
//
// You may not use this file except in compliance with the
// GEEHY COPYRIGHT NOTICE (GEEHY SOFTWARE PACKAGE LICENSE).
//
// The program is only for reference, which is distributed in the hope
// that it will be useful and instructional for customers to develop
// their software. Unless required by applicable law or agreed to in
// writing, the program is distributed on an "AS IS" BASIS, WITHOUT
// ANY WARRANTY OR CONDITIONS OF ANY KIND, either express or implied.
// See the GEEHY SOFTWARE PACKAGE LICENSE for the governing permissions
// and limitations under the License.
// $
//###########################################################################

#ifndef FFT_FLATTOP_Q31_H
#define FFT_FLATTOP_Q31_H

#define FLATTOP4096 {\
       -904200,        -904330,        -904720,        -905369,        -906278,        -907447,        -908875,        -910564, \
       -912513,        -914721,        -917190,        -919919,        -922909,        -926159,        -929670,        -933441, \
       -937474,        -941768,        -946323,        -951139,        -956218,        -961558,        -967161,        -973027, \
       -979155,        -985546,        -992200,        -999118,       -1006300,       -1013746,       -1021457,       -1029432, \
      -1037673,       -1046180,       -1054952,       -1063991,       -1073296,       -1082869,       -1092709,       -1102818, \
      -1113194,       -1123840,       -1134755,       -1145940,       -1157395,       -1169121,       -1181119,       -1193388, \
      -1205930,       -1218744,       -1231833,       -1245195,       -1258832,       -1272744,       -1286931,       -1301396, \
      -1316137,       -1331156,       -1346453,       -1362029,       -1377885,       -1394021,       -1410438,       -1427137, \
      -1444118,       -1461383,       -1478931,       -1496763,       -1514881,       -1533285,       -1551976,       -1570955, \
      -1590221,       -1609778,       -1629624,       -1649761,       -1670189,       -1690910,       -1711925,       -1733234, \
      -1754838,       -1776737,       -1798934,       -1821429,       -1844222,       -1867315,       -1890708,       -1914403, \
      -1938401,       -1962702,       -1987307,       -2012218,       -2037435,       -2062959,       -2088792,       -2114934, \
      -2141387,       -2168151,       -2195228,       -2222618,       -2250323,       -2278344,       -2306682,       -2335338, \
      -2364312,       -2393607,       -2423224,       -2453162,       -2483425,       -2514012,       -2544925,       -2576165, \
      -2607733,       -2639631,       -2671860,       -2704420,       -2737314,       -2770541,       -2804105,       -2838005, \
      -2872243,       -2906821,       -2941739,       -2976999,       -3012602,       -3048550,       -3084844,       -3121484, \
      -3158473,       -3195812,       -3233501,       -3271543,       -3309939,       -3348690,       -3387798,       -3427263, \
      -3467087,       -3507273,       -3547820,       -3588731,       -3630006,       -3671648,       -3713657,       -3756036, \
      -3798785,       -3841907,       -3885402,       -3929271,       -3973518,       -4018142,       -4063145,       -4108530, \
      -4154297,       -4200447,       -4246984,       -4293907,       -4341218,       -4388920,       -4437013,       -4485499, \
      -4534380,       -4583657,       -4633332,       -4683407,       -4733882,       -4784759,       -4836041,       -4887729, \
      -4939823,       -4992327,       -5045241,       -5098568,       -5152308,       -5206463,       -5261035,       -5316027, \
      -5371438,       -5427271,       -5483528,       -5540211,       -5597320,       -5654858,       -5712826,       -5771226, \
      -5830059,       -5889328,       -5949034,       -6009179,       -6069764,       -6130791,       -6192262,       -6254179, \
      -6316543,       -6379356,       -6442620,       -6506336,       -6570506,       -6635132,       -6700216,       -6765759, \
      -6831764,       -6898231,       -6965163,       -7032561,       -7100428,       -7168764,       -7237572,       -7306854, \
      -7376611,       -7446845,       -7517558,       -7588751,       -7660426,       -7732586,       -7805232,       -7878365, \
      -7951988,       -8026103,       -8100710,       -8175812,       -8251411,       -8327508,       -8404106,       -8481206, \
      -8558809,       -8636919,       -8715535,       -8794661,       -8874299,       -8954449,       -9035114,       -9116295, \
      -9197995,       -9280215,       -9362957,       -9446222,       -9530014,       -9614332,       -9699180,       -9784559, \
      -9870471,       -9956918,      -10043900,      -10131422,      -10219483,      -10308086,      -10397233,      -10486926, \
     -10577165,      -10667954,      -10759294,      -10851187,      -10943634,      -11036637,      -11130199,      -11224320, \
     -11319004,      -11414250,      -11510063,      -11606442,      -11703390,      -11800909,      -11899000,      -11997666, \
     -12096907,      -12196727,      -12297126,      -12398106,      -12499670,      -12601818,      -12704553,      -12807877, \
     -12911790,      -13016296,      -13121395,      -13227090,      -13333381,      -13440272,      -13547763,      -13655857, \
     -13764554,      -13873858,      -13983769,      -14094289,      -14205420,      -14317164,      -14429522,      -14542496, \
     -14656087,      -14770299,      -14885131,      -15000586,      -15116665,      -15233370,      -15350703,      -15468665, \
     -15587259,      -15706485,      -15826345,      -15946841,      -16067975,      -16189747,      -16312161,      -16435216, \
     -16558916,      -16683261,      -16808253,      -16933894,      -17060185,      -17187127,      -17314723,      -17442974, \
     -17571881,      -17701446,      -17831670,      -17962556,      -18094103,      -18226315,      -18359192,      -18492735, \
     -18626947,      -18761829,      -18897382,      -19033608,      -19170507,      -19308083,      -19446335,      -19585265, \
     -19724875,      -19865166,      -20006140,      -20147797,      -20290139,      -20433168,      -20576885,      -20721291, \
     -20866387,      -21012175,      -21158656,      -21305832,      -21453703,      -21602270,      -21751536,      -21901501, \
     -22052167,      -22203534,      -22355604,      -22508378,      -22661858,      -22816044,      -22970937,      -23126540, \
     -23282852,      -23439875,      -23597609,      -23756058,      -23915220,      -24075097,      -24235691,      -24397002, \
     -24559031,      -24721780,      -24885249,      -25049439,      -25214352,      -25379988,      -25546348,      -25713432, \
     -25881243,      -26049781,      -26219046,      -26389040,      -26559764,      -26731217,      -26903402,      -27076318, \
     -27249967,      -27424350,      -27599467,      -27775318,      -27951905,      -28129229,      -28307289,      -28486087, \
     -28665623,      -28845899,      -29026913,      -29208668,      -29391164,      -29574401,      -29758380,      -29943101, \
     -30128566,      -30314773,      -30501725,      -30689421,      -30877861,      -31067047,      -31256979,      -31447656, \
     -31639080,      -31831251,      -32024168,      -32217833,      -32412246,      -32607407,      -32803316,      -32999973, \
     -33197379,      -33395534,      -33594438,      -33794091,      -33994493,      -34195645,      -34397546,      -34600197, \
     -34803598,      -35007748,      -35212648,      -35418298,      -35624697,      -35831846,      -36039745,      -36248393, \
     -36457790,      -36667937,      -36878833,      -37090477,      -37302870,      -37516012,      -37729901,      -37944539, \
     -38159924,      -38376057,      -38592937,      -38810563,      -39028935,      -39248053,      -39467917,      -39688526, \
     -39909879,      -40131976,      -40354816,      -40578399,      -40802725,      -41027792,      -41253600,      -41480149, \
     -41707437,      -41935465,      -42164231,      -42393734,      -42623974,      -42854951,      -43086662,      -43319108, \
     -43552287,      -43786199,      -44020842,      -44256217,      -44492320,      -44729153,      -44966713,      -45205000, \
     -45444012,      -45683749,      -45924209,      -46165392,      -46407295,      -46649918,      -46893259,      -47137318, \
     -47382092,      -47627581,      -47873783,      -48120697,      -48368322,      -48616655,      -48865696,      -49115443, \
     -49365894,      -49617049,      -49868904,      -50121459,      -50374713,      -50628663,      -50883307,      -51138645, \
     -51394674,      -51651392,      -51908798,      -52166889,      -52425665,      -52685122,      -52945260,      -53206075, \
     -53467567,      -53729733,      -53992571,      -54256078,      -54520254,      -54785095,      -55050599,      -55316765, \
     -55583590,      -55851071,      -56119207,      -56387995,      -56657433,      -56927518,      -57198248,      -57469620, \
     -57741632,      -58014282,      -58287566,      -58561482,      -58836028,      -59111201,      -59386999,      -59663417, \
     -59940455,      -60218108,      -60496375,      -60775252,      -61054736,      -61334824,      -61615514,      -61896803, \
     -62178687,      -62461164,      -62744229,      -63027881,      -63312116,      -63596931,      -63882323,      -64168287, \
     -64454822,      -64741924,      -65029588,      -65317813,      -65606594,      -65895928,      -66185812,      -66476242, \
     -66767214,      -67058724,      -67350770,      -67643348,      -67936453,      -68230082,      -68524231,      -68818896, \
     -69114074,      -69409760,      -69705951,      -70002643,      -70299831,      -70597512,      -70895682,      -71194335, \
     -71493469,      -71793079,      -72093161,      -72393711,      -72694723,      -72996195,      -73298121,      -73600497, \
     -73903319,      -74206581,      -74510281,      -74814413,      -75118972,      -75423954,      -75729354,      -76035167, \
     -76341389,      -76648015,      -76955040,      -77262459,      -77570268,      -77878461,      -78187033,      -78495979, \
     -78805295,      -79114975,      -79425014,      -79735407,      -80046148,      -80357233,      -80668656,      -80980412, \
     -81292495,      -81604900,      -81917622,      -82230654,      -82543992,      -82857631,      -83171563,      -83485784, \
     -83800289,      -84115070,      -84430123,      -84745442,      -85061021,      -85376853,      -85692934,      -86009257, \
     -86325816,      -86642605,      -86959618,      -87276849,      -87594291,      -87911940,      -88229787,      -88547827, \
     -88866055,      -89184462,      -89503043,      -89821792,      -90140702,      -90459766,      -90778978,      -91098331, \
     -91417819,      -91737435,      -92057172,      -92377023,      -92696982,      -93017042,      -93337196,      -93657436, \
     -93977757,      -94298151,      -94618610,      -94939129,      -95259699,      -95580313,      -95900965,      -96221647, \
     -96542352,      -96863072,      -97183800,      -97504529,      -97825250,      -98145958,      -98466643,      -98787299, \
     -99107918,      -99428492,      -99749013,     -100069475,     -100389868,     -100710185,     -101030418,     -101350560, \
    -101670602,     -101990536,     -102310355,     -102630049,     -102949612,     -103269035,     -103588309,     -103907427, \
    -104226380,     -104545160,     -104863759,     -105182167,     -105500377,     -105818380,     -106136168,     -106453732, \
    -106771063,     -107088153,     -107404992,     -107721573,     -108037887,     -108353924,     -108669676,     -108985133, \
    -109300288,     -109615130,     -109929652,     -110243843,     -110557695,     -110871198,     -111184344,     -111497123, \
    -111809526,     -112121543,     -112433165,     -112744383,     -113055188,     -113365569,     -113675517,     -113985023, \
    -114294078,     -114602670,     -114910792,     -115218432,     -115525582,     -115832232,     -116138371,     -116443989, \
    -116749078,     -117053626,     -117357624,     -117661062,     -117963929,     -118266216,     -118567913,     -118869008, \
    -119169493,     -119469356,     -119768587,     -120067176,     -120365113,     -120662386,     -120958986,     -121254902, \
    -121550124,     -121844640,     -122138441,     -122431515,     -122723851,     -123015440,     -123306270,     -123596330, \
    -123885609,     -124174097,     -124461783,     -124748655,     -125034702,     -125319914,     -125604279,     -125887786, \
    -126170424,     -126452182,     -126733048,     -127013012,     -127292061,     -127570184,     -127847370,     -128123608, \
    -128398885,     -128673191,     -128946514,     -129218842,     -129490163,     -129760467,     -130029740,     -130297972, \
    -130565150,     -130831263,     -131096299,     -131360246,     -131623092,     -131884824,     -132145432,     -132404902, \
    -132663224,     -132920384,     -133176370,     -133431171,     -133684773,     -133937166,     -134188336,     -134438271, \
    -134686959,     -134934387,     -135180542,     -135425414,     -135668988,     -135911252,     -136152194,     -136391801, \
    -136630060,     -136866959,     -137102485,     -137336625,     -137569367,     -137800697,     -138030603,     -138259071, \
    -138486089,     -138711645,     -138935724,     -139158314,     -139379401,     -139598974,     -139817018,     -140033520, \
    -140248467,     -140461847,     -140673645,     -140883848,     -141092444,     -141299418,     -141504758,     -141708449, \
    -141910479,     -142110834,     -142309501,     -142506465,     -142701714,     -142895233,     -143087010,     -143277030, \
    -143465280,     -143651746,     -143836414,     -144019271,     -144200303,     -144379495,     -144556834,     -144732307, \
    -144905898,     -145077595,     -145247384,     -145415249,     -145581178,     -145745155,     -145907168,     -146067202, \
    -146225243,     -146381276,     -146535288,     -146687264,     -146837190,     -146985051,     -147130834,     -147274524, \
    -147416107,     -147555568,     -147692893,     -147828067,     -147961077,     -148091907,     -148220543,     -148346971, \
    -148471175,     -148593142,     -148712857,     -148830306,     -148945472,     -149058343,     -149168903,     -149277137, \
    -149383031,     -149486570,     -149587740,     -149686524,     -149782910,     -149876881,     -149968423,     -150057521, \
    -150144161,     -150228326,     -150310003,     -150389177,     -150465831,     -150539952,     -150611524,     -150680533, \
    -150746963,     -150810799,     -150872026,     -150930629,     -150986593,     -151039902,     -151090542,     -151138498, \
    -151183754,     -151226294,     -151266104,     -151303169,     -151337473,     -151369001,     -151397738,     -151423668, \
    -151446776,     -151467047,     -151484465,     -151499015,     -151510681,     -151519449,     -151525303,     -151528227, \
    -151528206,     -151525225,     -151519268,     -151510319,     -151498364,     -151483386,     -151465371,     -151444302, \
    -151420164,     -151392942,     -151362620,     -151329183,     -151292614,     -151252899,     -151210022,     -151163967, \
    -151114719,     -151062261,     -151006580,     -150947658,     -150885480,     -150820031,     -150751295,     -150679256, \
    -150603899,     -150525208,     -150443167,     -150357761,     -150268974,     -150176790,     -150081194,     -149982170, \
    -149879702,     -149773775,     -149664373,     -149551480,     -149435080,     -149315159,     -149191699,     -149064686, \
    -148934104,     -148799936,     -148662168,     -148520784,     -148375767,     -148227103,     -148074775,     -147918767, \
    -147759065,     -147595653,     -147428514,     -147257632,     -147082994,     -146904581,     -146722380,     -146536374, \
    -146346547,     -146152884,     -145955369,     -145753987,     -145548722,     -145339557,     -145126478,     -144909470, \
    -144688515,     -144463599,     -144234705,     -144001819,     -143764925,     -143524007,     -143279049,     -143030036, \
    -142776953,     -142519783,     -142258511,     -141993122,     -141723600,     -141449930,     -141172095,     -140890081, \
    -140603872,     -140313453,     -140018807,     -139719921,     -139416777,     -139109361,     -138797657,     -138481650, \
    -138161324,     -137836664,     -137507656,     -137174282,     -136836528,     -136494379,     -136147820,     -135796834, \
    -135441407,     -135081524,     -134717169,     -134348327,     -133974983,     -133597122,     -133214728,     -132827787, \
    -132436282,     -132040200,     -131639525,     -131234242,     -130824336,     -130409792,     -129990595,     -129566730, \
    -129138181,     -128704935,     -128266976,     -127824289,     -127376859,     -126924673,     -126467713,     -126005967, \
    -125539419,     -125068054,     -124591858,     -124110816,     -123624914,     -123134136,     -122638468,     -122137896, \
    -121632405,     -121121980,     -120606607,     -120086272,     -119560960,     -119030657,     -118495348,     -117955019, \
    -117409655,     -116859243,     -116303768,     -115743216,     -115177573,     -114606824,     -114030956,     -113449954, \
    -112863804,     -112272493,     -111676006,     -111074329,     -110467449,     -109855351,     -109238022,     -108615448, \
    -107987616,     -107354510,     -106716119,     -106072427,     -105423422,     -104769090,     -104109417,     -103444390, \
    -102773996,     -102098220,     -101417050,     -100730473,     -100038474,      -99341041,      -98638160,      -97929819, \
     -97216004,      -96496702,      -95771901,      -95041586,      -94305745,      -93564366,      -92817435,      -92064939, \
     -91306867,      -90543204,      -89773939,      -88999058,      -88218550,      -87432401,      -86640599,      -85843132, \
     -85039987,      -84231153,      -83416615,      -82596363,      -81770385,      -80938667,      -80101199,      -79257967, \
     -78408960,      -77554166,      -76693573,      -75827170,      -74954944,      -74076883,      -73192977,      -72303213, \
     -71407580,      -70506067,      -69598661,      -68685352,      -67766128,      -66840978,      -65909891,      -64972855, \
     -64029859,      -63080893,      -62125945,      -61165004,      -60198060,      -59225102,      -58246118,      -57261098, \
     -56270033,      -55272910,      -54269719,      -53260451,      -52245094,      -51223638,      -50196073,      -49162389, \
     -48122575,      -47076622,      -46024520,      -44966258,      -43901827,      -42831216,      -41754417,      -40671419, \
     -39582212,      -38486788,      -37385137,      -36277248,      -35163114,      -34042724,      -32916069,      -31783141, \
     -30643930,      -29498426,      -28346622,      -27188509,      -26024076,      -24853316,      -23676221,      -22492781, \
     -21302987,      -20106832,      -18904307,      -17695404,      -16480115,      -15258431,      -14030344,      -12795846, \
     -11554930,      -10307587,       -9053809,       -7793590,       -6526921,       -5253795,       -3974204,       -2688140, \
      -1395598,         -96568,        1208955,        2520980,        3839512,        5164560,        6496129,        7834227, \
       9178860,       10530036,       11887760,       13252039,       14622879,       16000287,       17384269,       18774831, \
      20171979,       21575719,       22986057,       24402998,       25826550,       27256716,       28693503,       30136916, \
      31586961,       33043643,       34506967,       35976937,       37453561,       38936841,       40426783,       41923393, \
      43426674,       44936631,       46453268,       47976591,       49506604,       51043310,       52586714,       54136820, \
      55693631,       57257153,       58827389,       60404342,       61988016,       63578414,       65175540,       66779398, \
      68389991,       70007321,       71631392,       73262207,       74899769,       76544080,       78195144,       79852962, \
      81517538,       83188874,       84866972,       86551834,       88243463,       89941860,       91647028,       93358968, \
      95077682,       96803172,       98535440,      100274486,      102020312,      103772920,      105532311,      107298485, \
     109071444,      110851188,      112637719,      114431037,      116231142,      118038035,      119851717,      121672188, \
     123499447,      125333496,      127174333,      129021959,      130876374,      132737578,      134605569,      136480347, \
     138361913,      140250264,      142145400,      144047321,      145956025,      147871511,      149793778,      151722824, \
     153658648,      155601249,      157550625,      159506773,      161469693,      163439382,      165415838,      167399059, \
     169389043,      171385786,      173389288,      175399545,      177416554,      179440313,      181470818,      183508067, \
     185552057,      187602784,      189660245,      191724436,      193795354,      195872995,      197957356,      200048432, \
     202146220,      204250715,      206361914,      208479811,      210604403,      212735684,      214873651,      217018298, \
     219169621,      221327614,      223492273,      225663592,      227841567,      230026190,      232217458,      234415364, \
     236619903,      238831069,      241048855,      243273256,      245504266,      247741877,      249986085,      252236881, \
     254494261,      256758216,      259028740,      261305826,      263589466,      265879655,      268176384,      270479645, \
     272789432,      275105737,      277428552,      279757868,      282093679,      284435976,      286784750,      289139994, \
     291501698,      293869855,      296244456,      298625491,      301012953,      303406831,      305807117,      308213802, \
     310626876,      313046329,      315472153,      317904337,      320342872,      322787747,      325238953,      327696480, \
     330160316,      332630453,      335106879,      337589583,      340078555,      342573784,      345075260,      347582970, \
     350096904,      352617051,      355143399,      357675936,      360214651,      362759532,      365310568,      367867745, \
     370431053,      373000478,      375576009,      378157633,      380745338,      383339110,      385938937,      388544806, \
     391156704,      393774618,      396398535,      399028440,      401664322,      404306165,      406953956,      409607682, \
     412267329,      414932882,      417604327,      420281650,      422964836,      425653872,      428348742,      431049431, \
     433755925,      436468208,      439186266,      441910083,      444639644,      447374934,      450115936,      452862636, \
     455615017,      458373064,      461136760,      463906089,      466681035,      469461582,      472247713,      475039412, \
     477836662,      480639445,      483447746,      486261546,      489080830,      491905579,      494735776,      497571404, \
     500412444,      503258880,      506110693,      508967866,      511830380,      514698217,      517571359,      520449788, \
     523333484,      526222430,      529116606,      532015993,      534920573,      537830327,      540745235,      543665278, \
     546590436,      549520691,      552456022,      555396409,      558341834,      561292275,      564247712,      567208126, \
     570173496,      573143802,      576119023,      579099138,      582084127,      585073969,      588068643,      591068128, \
     594072402,      597081444,      600095234,      603113748,      606136967,      609164867,      612197427,      615234626, \
     618276441,      621322849,      624373830,      627429359,      630489415,      633553976,      636623018,      639696518, \
     642774454,      645856803,      648943542,      652034646,      655130094,      658229861,      661333924,      664442260, \
     667554844,      670671653,      673792662,      676917848,      680047187,      683180653,      686318224,      689459874, \
     692605578,      695755313,      698909052,      702066772,      705228448,      708394053,      711563564,      714736955, \
     717914199,      721095273,      724280150,      727468804,      730661210,      733857342,      737057174,      740260679, \
     743467832,      746678607,      749892976,      753110914,      756332393,      759557387,      762785870,      766017815, \
     769253193,      772491980,      775734146,      778979666,      782228511,      785480654,      788736068,      791994725, \
     795256598,      798521657,      801789877,      805061228,      808335683,      811613212,      814893789,      818177385, \
     821463971,      824753518,      828045998,      831341383,      834639643,      837940750,      841244674,      844551387, \
     847860859,      851173061,      854487963,      857805537,      861125753,      864448580,      867773990,      871101953, \
     874432439,      877765417,      881100858,      884438732,      887779008,      891121656,      894466647,      897813948, \
     901163531,      904515363,      907869416,      911225657,      914584055,      917944581,      921307203,      924671890, \
     928038610,      931407333,      934778027,      938150661,      941525203,      944901621,      948279885,      951659962, \
     955041821,      958425429,      961810755,      965197766,      968586432,      971976719,      975368595,      978762028, \
     982156986,      985553436,      988951345,      992350682,      995751413,      999153506,     1002556927,     1005961645, \
    1009367625,     1012774836,     1016183244,     1019592816,     1023003518,     1026415318,     1029828182,     1033242076, \
    1036656968,     1040072824,     1043489610,     1046907292,     1050325837,     1053745210,     1057165380,     1060586310, \
    1064007967,     1067430318,     1070853328,     1074276963,     1077701189,     1081125972,     1084551276,     1087977069, \
    1091403315,     1094829980,     1098257030,     1101684430,     1105112144,     1108540139,     1111968380,     1115396832, \
    1118825460,     1122254229,     1125683105,     1129112051,     1132541034,     1135970017,     1139398967,     1142827846, \
    1146256622,     1149685257,     1153113717,     1156541966,     1159969969,     1163397691,     1166825095,     1170252146, \
    1173678808,     1177105047,     1180530826,     1183956109,     1187380860,     1190805044,     1194228625,     1197651567, \
    1201073834,     1204495390,     1207916198,     1211336223,     1214755429,     1218173780,     1221591238,     1225007769, \
    1228423335,     1231837901,     1235251430,     1238663886,     1242075232,     1245485432,     1248894450,     1252302248, \
    1255708791,     1259114041,     1262517963,     1265920520,     1269321674,     1272721390,     1276119630,     1279516358, \
    1282911537,     1286305131,     1289697102,     1293087413,     1296476029,     1299862911,     1303248023,     1306631329, \
    1310012790,     1313392371,     1316770034,     1320145742,     1323519458,     1326891145,     1330260766,     1333628284, \
    1336993662,     1340356863,     1343717849,     1347076583,     1350433029,     1353787149,     1357138905,     1360488262, \
    1363835181,     1367179625,     1370521556,     1373860939,     1377197735,     1380531908,     1383863419,     1387192232, \
    1390518309,     1393841613,     1397162107,     1400479754,     1403794515,     1407106355,     1410415235,     1413721118, \
    1417023966,     1420323744,     1423620412,     1426913934,     1430204273,     1433491391,     1436775251,     1440055815, \
    1443333046,     1446606907,     1449877361,     1453144370,     1456407897,     1459667904,     1462924355,     1466177211, \
    1469426437,     1472671994,     1475913845,     1479151952,     1482386280,     1485616790,     1488843445,     1492066208, \
    1495285042,     1498499910,     1501710774,     1504917597,     1508120343,     1511318973,     1514513451,     1517703740, \
    1520889803,     1524071602,     1527249101,     1530422262,     1533591049,     1536755425,     1539915352,     1543070794, \
    1546221713,     1549368074,     1552509838,     1555646970,     1558779431,     1561907187,     1565030199,     1568148431, \
    1571261846,     1574370408,     1577474080,     1580572825,     1583666607,     1586755389,     1589839135,     1592917808, \
    1595991371,     1599059789,     1602123024,     1605181041,     1608233803,     1611281273,     1614323416,     1617360196, \
    1620391575,     1623417519,     1626437990,     1629452953,     1632462371,     1635466210,     1638464432,     1641457002, \
    1644443884,     1647425042,     1650400440,     1653370044,     1656333816,     1659291721,     1662243724,     1665189789, \
    1668129881,     1671063965,     1673992003,     1676913963,     1679829807,     1682739501,     1685643010,     1688540299, \
    1691431332,     1694316074,     1697194490,     1700066546,     1702932207,     1705791437,     1708644202,     1711490467, \
    1714330198,     1717163359,     1719989917,     1722809837,     1725623085,     1728429625,     1731229425,     1734022448, \
    1736808663,     1739588033,     1742360526,     1745126107,     1747884742,     1750636398,     1753381040,     1756118636, \
    1758849150,     1761572550,     1764288803,     1766997874,     1769699730,     1772394338,     1775081665,     1777761678, \
    1780434343,     1783099627,     1785757498,     1788407923,     1791050868,     1793686301,     1796314190,     1798934502, \
    1801547203,     1804152263,     1806749648,     1809339327,     1811921266,     1814495435,     1817061800,     1819620330, \
    1822170994,     1824713758,     1827248593,     1829775465,     1832294343,     1834805197,     1837307994,     1839802703, \
    1842289294,     1844767734,     1847237993,     1849700040,     1852153845,     1854599376,     1857036602,     1859465494, \
    1861886020,     1864298150,     1866701854,     1869097102,     1871483863,     1873862108,     1876231807,     1878592929, \
    1880945445,     1883289325,     1885624540,     1887951060,     1890268856,     1892577899,     1894878159,     1897169607, \
    1899452215,     1901725953,     1903990793,     1906246706,     1908493663,     1910731636,     1912960597,     1915180517, \
    1917391369,     1919593123,     1921785752,     1923969229,     1926143525,     1928308613,     1930464465,     1932611054, \
    1934748353,     1936876334,     1938994970,     1941104234,     1943204099,     1945294539,     1947375527,     1949447037, \
    1951509040,     1953561513,     1955604428,     1957637758,     1959661479,     1961675564,     1963679988,     1965674724, \
    1967659748,     1969635034,     1971600555,     1973556289,     1975502208,     1977438289,     1979364506,     1981280834, \
    1983187250,     1985083728,     1986970245,     1988846775,     1990713295,     1992569781,     1994416209,     1996252555, \
    1998078796,     1999894907,     2001700866,     2003496649,     2005282233,     2007057596,     2008822713,     2010577563, \
    2012322123,     2014056370,     2015780281,     2017493836,     2019197010,     2020889783,     2022572133,     2024244037, \
    2025905474,     2027556423,     2029196862,     2030826770,     2032446126,     2034054909,     2035653097,     2037240671, \
    2038817610,     2040383893,     2041939500,     2043484410,     2045018604,     2046542062,     2048054764,     2049556690, \
    2051047821,     2052528137,     2053997620,     2055456249,     2056904007,     2058340874,     2059766831,     2061181860, \
    2062585943,     2063979061,     2065361196,     2066732331,     2068092446,     2069441525,     2070779550,     2072106503, \
    2073422367,     2074727126,     2076020761,     2077303256,     2078574595,     2079834760,     2081083736,     2082321505, \
    2083548052,     2084763361,     2085967416,     2087160201,     2088341700,     2089511898,     2090670780,     2091818331, \
    2092954535,     2094079378,     2095192845,     2096294921,     2097385592,     2098464844,     2099532662,     2100589033, \
    2101633942,     2102667376,     2103689322,     2104699766,     2105698694,     2106686094,     2107661953,     2108626258, \
    2109578996,     2110520155,     2111449722,     2112367685,     2113274032,     2114168752,     2115051832,     2115923261, \
    2116783027,     2117631120,     2118467527,     2119292239,     2120105243,     2120906530,     2121696089,     2122473910, \
    2123239981,     2123994294,     2124736839,     2125467604,     2126186582,     2126893762,     2127589135,     2128272693, \
    2128944425,     2129604323,     2130252379,     2130888584,     2131512929,     2132125407,     2132726008,     2133314727, \
    2133891553,     2134456481,     2135009502,     2135550610,     2136079796,     2136597055,     2137102379,     2137595761, \
    2138077196,     2138546677,     2139004197,     2139449751,     2139883332,     2140304936,     2140714555,     2141112186, \
    2141497823,     2141871460,     2142233093,     2142582717,     2142920328,     2143245920,     2143559490,     2143861033, \
    2144150546,     2144428025,     2144693465,     2144946864,     2145188218,     2145417525,     2145634780,     2145839981, \
    2146033126,     2146214211,     2146383235,     2146540195,     2146685089,     2146817915,     2146938672,     2147047358, \
    2147143971,     2147228510,     2147300975,     2147361363,     2147409675,     2147445909,     2147470065,     2147482144, \
} 

#define FLATTOP2048 {\
       -904200,        -904720,        -906279,        -908878,        -912517,        -917196,        -922918,        -929682, \
       -937490,        -946343,        -956243,        -967192,        -979191,        -992243,       -1006350,       -1021514, \
      -1037739,       -1055026,       -1073379,       -1092802,       -1113297,       -1134869,       -1157520,       -1181255, \
      -1206078,       -1231994,       -1259007,       -1287120,       -1316340,       -1346672,       -1378120,       -1410689, \
      -1444386,       -1479216,       -1515185,       -1552298,       -1590563,       -1629985,       -1670571,       -1712328, \
      -1755263,       -1799382,       -1844693,       -1891203,       -1938920,       -1987851,       -2038005,       -2089389, \
      -2142011,       -2195880,       -2251004,       -2307392,       -2365053,       -2423995,       -2484227,       -2545760, \
      -2608601,       -2672762,       -2738250,       -2805077,       -2873252,       -2942785,       -3013686,       -3085966, \
      -3159635,       -3234704,       -3311183,       -3389084,       -3468417,       -3549193,       -3631424,       -3715121, \
      -3800296,       -3886960,       -3975124,       -4064801,       -4156003,       -4248742,       -4343029,       -4438877, \
      -4536299,       -4635306,       -4735912,       -4838129,       -4941970,       -5047447,       -5154574,       -5263364, \
      -5373830,       -5485984,       -5599840,       -5715413,       -5832714,       -5951757,       -6072557,       -6195126, \
      -6319479,       -6445629,       -6573589,       -6703375,       -6835000,       -6968477,       -7103822,       -7241047, \
      -7380168,       -7521198,       -7664151,       -7809043,       -7955886,       -8104696,       -8255487,       -8408274, \
      -8563070,       -8719890,       -8878749,       -9039661,       -9202640,       -9367702,       -9534860,       -9704129, \
      -9875524,      -10049059,      -10224748,      -10402607,      -10582649,      -10764890,      -10949342,      -11136022, \
     -11324943,      -11516120,      -11709566,      -11905297,      -12103327,      -12303669,      -12506339,      -12711349, \
     -12918715,      -13128450,      -13340569,      -13555084,      -13772011,      -13991362,      -14213152,      -14437394, \
     -14664102,      -14893288,      -15124968,      -15359153,      -15595858,      -15835094,      -16076876,      -16321216, \
     -16568127,      -16817621,      -17069712,      -17324412,      -17581732,      -17841686,      -18104285,      -18369541, \
     -18637466,      -18908072,      -19181371,      -19457373,      -19736090,      -20017533,      -20301713,      -20588640, \
     -20878326,      -21170781,      -21466014,      -21764037,      -22064858,      -22368488,      -22674937,      -22984212, \
     -23296324,      -23611282,      -23929094,      -24249768,      -24573314,      -24899738,      -25229049,      -25561255, \
     -25896363,      -26234380,      -26575313,      -26919168,      -27265952,      -27615672,      -27968333,      -28323941, \
     -28682501,      -29044018,      -29408498,      -29775945,      -30146363,      -30519756,      -30896128,      -31275483, \
     -31657823,      -32043152,      -32431472,      -32822785,      -33217093,      -33614399,      -34014702,      -34418005, \
     -34824308,      -35233611,      -35645914,      -36061217,      -36479520,      -36900820,      -37325118,      -37752410, \
     -38182696,      -38615972,      -39052235,      -39491483,      -39933713,      -40378919,      -40827098,      -41278244, \
     -41732354,      -42189421,      -42649439,      -43112403,      -43578305,      -44047138,      -44518894,      -44993567, \
     -45471147,      -45951626,      -46434994,      -46921241,      -47410358,      -47902334,      -48397158,      -48894819, \
     -49395304,      -49898602,      -50404699,      -50913582,      -51425238,      -51939652,      -52456809,      -52976695, \
     -53499293,      -54024588,      -54552563,      -55083201,      -55616483,      -56152393,      -56690911,      -57232018, \
     -57775695,      -58321921,      -58870676,      -59421939,      -59975687,      -60531899,      -61090551,      -61651621, \
     -62215085,      -62780917,      -63349094,      -63919590,      -64492378,      -65067433,      -65644726,      -66224230, \
     -66805918,      -67389760,      -67975726,      -68563787,      -69153912,      -69746070,      -70340230,      -70936359, \
     -71534424,      -72134391,      -72736228,      -73339898,      -73945367,      -74552599,      -75161557,      -75772205, \
     -76384505,      -76998418,      -77613907,      -78230930,      -78849448,      -79469421,      -80090807,      -80713564, \
     -81337649,      -81963020,      -82589633,      -83217443,      -83846404,      -84476472,      -85107600,      -85739741, \
     -86372848,      -87006871,      -87641763,      -88277473,      -88913952,      -89551149,      -90189011,      -90827488, \
     -91466526,      -92106072,      -92746071,      -93386470,      -94027212,      -94668242,      -95309503,      -95950938, \
     -96592488,      -97234095,      -97875700,      -98517242,      -99158662,      -99799897,     -100440886,     -101081566, \
    -101721874,     -102361745,     -103001117,     -103639922,     -104278095,     -104915570,     -105552279,     -106188154, \
    -106823128,     -107457129,     -108090090,     -108721939,     -109352604,     -109982015,     -110610098,     -111236780, \
    -111861988,     -112485646,     -113107681,     -113728015,     -114346573,     -114963277,     -115578050,     -116190812, \
    -116801486,     -117409991,     -118016247,     -118620173,     -119221688,     -119820708,     -120417151,     -121010933, \
    -121601971,     -122190179,     -122775472,     -123357763,     -123936967,     -124512995,     -125085759,     -125655172, \
    -126221143,     -126783583,     -127342401,     -127897506,     -128448807,     -128996211,     -129539626,     -130078957, \
    -130614111,     -131144993,     -131671507,     -132193559,     -132711050,     -133223885,     -133731966,     -134235194, \
    -134733470,     -135226696,     -135714772,     -136197596,     -136675068,     -137147087,     -137613550,     -138074354, \
    -138529397,     -138978574,     -139421782,     -139858915,     -140289869,     -140714537,     -141132813,     -141544591, \
    -141949762,     -142348220,     -142739855,     -143124559,     -143502223,     -143872737,     -144235990,     -144591872, \
    -144940272,     -145281078,     -145614178,     -145939459,     -146256809,     -146566115,     -146867261,     -147160135, \
    -147444621,     -147720604,     -147987970,     -148246602,     -148496383,     -148737198,     -148968929,     -149191460, \
    -149404671,     -149608446,     -149802666,     -149987211,     -150161964,     -150326804,     -150481612,     -150626268, \
    -150760651,     -150884641,     -150998118,     -151100958,     -151193043,     -151274248,     -151344453,     -151403536, \
    -151451373,     -151487842,     -151512820,     -151526185,     -151527812,     -151517578,     -151495359,     -151461031, \
    -151414471,     -151355553,     -151284154,     -151200148,     -151103412,     -150993820,     -150871247,     -150735568, \
    -150586658,     -150424392,     -150248644,     -150059288,     -149856200,     -149639254,     -149408323,     -149163282, \
    -148904006,     -148630369,     -148342245,     -148039508,     -147722032,     -147389693,     -147042364,     -146679919, \
    -146302233,     -145909180,     -145500635,     -145076473,     -144636568,     -144180795,     -143709028,     -143221144, \
    -142717016,     -142196521,     -141659534,     -141105930,     -140535585,     -139948376,     -139344177,     -138722866, \
    -138084320,     -137428415,     -136755027,     -136064035,     -135355316,     -134628748,     -133884209,     -133121576, \
    -132340730,     -131541549,     -130723912,     -129887700,     -129032791,     -128159066,     -127266407,     -126354695, \
    -125423810,     -124473635,     -123504052,     -122514944,     -121506195,     -120477687,     -119429305,     -118360934, \
    -117272459,     -116163765,     -115034739,     -113885267,     -112715236,     -111524534,     -110313049,     -109080671, \
    -107827288,     -106552790,     -105257069,     -103940015,     -102601521,     -101241478,      -99859780,      -98456320, \
     -97030994,      -95583696,      -94114323,      -92622770,      -91108935,      -89572716,      -88014012,      -86432722, \
     -84828747,      -83201988,      -81552346,      -79879725,      -78184027,      -76465158,      -74723021,      -72957524, \
     -71168573,      -69356076,      -67519941,      -65660078,      -63776398,      -61868812,      -59937231,      -57981570, \
     -56001742,      -53997663,      -51969249,      -49916417,      -47839085,      -45737171,      -43610598,      -41459285, \
     -39283154,      -37082130,      -34856136,      -32605098,      -30328943,      -28027598,      -25700992,      -23349055, \
     -20971717,      -18568912,      -16140572,      -13686632,      -11207028,       -8701696,       -6170575,       -3613604, \
      -1030723,        1578125,        4212998,        6873952,        9561040,       12274317,       15013833,       17779640, \
      20571787,       23390322,       26235291,       29106740,       32004713,       34929252,       37880399,       40858193, \
      43862672,       46893875,       49951837,       53036591,       56148170,       59286607,       62451931,       65644170, \
      68863351,       72109501,       75382642,       78682798,       82009989,       85364236,       88745556,       92153966, \
      95589480,       99052113,      102541875,      106058778,      109602830,      113174039,      116772409,      120397945, \
     124050650,      127730524,      131437566,      135171774,      138933144,      142721671,      146537346,      150380161, \
     154250106,      158147167,      162071332,      166022584,      170000906,      174006279,      178038682,      182098094, \
     186184489,      190297842,      194438126,      198605311,      202799366,      207020258,      211267954,      215542416, \
     219843607,      224171487,      228526014,      232907146,      237314837,      241749040,      246209707,      250696787, \
     255210229,      259749978,      264315979,      268908174,      273526503,      278170906,      282841319,      287537678, \
     292259917,      297007966,      301781756,      306581214,      311406267,      316256839,      321132852,      326034227, \
     330960882,      335912736,      340889702,      345891695,      350918624,      355970402,      361046933,      366148126, \
     371273883,      376424108,      381598700,      386797558,      392020578,      397267656,      402538684,      407833553, \
     413152154,      418494372,      423860095,      429249205,      434661584,      440097113,      445555669,      451037130, \
     456541370,      462068260,      467617673,      473189477,      478783540,      484399727,      490037901,      495697924, \
     501379656,      507082955,      512807678,      518553678,      524320809,      530108922,      535917865,      541747486, \
     547597630,      553468140,      559358860,      565269629,      571200284,      577150664,      583120602,      589109933, \
     595118486,      601146091,      607192577,      613257770,      619341493,      625443569,      631563820,      637702065, \
     643858120,      650031802,      656222925,      662431301,      668656741,      674899054,      681158048,      687433527, \
     693725297,      700033159,      706356915,      712696363,      719051302,      725421526,      731806831,      738207010, \
     744621853,      751051150,      757494689,      763952256,      770423638,      776908616,      783406973,      789918490, \
     796442945,      802980115,      809529777,      816091705,      822665672,      829251449,      835848806,      842457513, \
     849077336,      855708042,      862349394,      869001155,      875663089,      882334953,      889016509,      895707513, \
     902407721,      909116890,      915834771,      922561119,      929295683,      936038214,      942788461,      949546171, \
     956311090,      963082963,      969861534,      976646546,      983437740,      990234857,      997037635,     1003845812, \
    1010659127,     1017477314,     1024300108,     1031127243,     1037958453,     1044793467,     1051632018,     1058473835, \
    1065318646,     1072166179,     1079016161,     1085868318,     1092722375,     1099578055,     1106435081,     1113293177, \
    1120152062,     1127011459,     1133871086,     1140730662,     1147589905,     1154448534,     1161306263,     1168162810, \
    1175017889,     1181871215,     1188722501,     1195571460,     1202417805,     1209261247,     1216101498,     1222938269, \
    1229771268,     1236600206,     1243424791,     1250244731,     1257059736,     1263869510,     1270673763,     1277472199, \
    1284264525,     1291050446,     1297829668,     1304601895,     1311366832,     1318124182,     1324873650,     1331614938, \
    1338347750,     1345071789,     1351786757,     1358492356,     1365188289,     1371874259,     1378549965,     1385215111, \
    1391869398,     1398512526,     1405144198,     1411764115,     1418371977,     1424967486,     1431550343,     1438120250, \
    1444676907,     1451220015,     1457749276,     1464264391,     1470765061,     1477250989,     1483721875,     1490177422, \
    1496617332,     1503041307,     1509449049,     1515840262,     1522214648,     1528571910,     1534911752,     1541233878, \
    1547537993,     1553823800,     1560091005,     1566339313,     1572568430,     1578778063,     1584967917,     1591137701, \
    1597287122,     1603415888,     1609523708,     1615610291,     1621675348,     1627718588,     1633739723,     1639738466, \
    1645714527,     1651667621,     1657597461,     1663503763,     1669386240,     1675244610,     1681078590,     1686887896, \
    1692672248,     1698431364,     1704164966,     1709872774,     1715554511,     1721209898,     1726838661,     1732440523, \
    1738015212,     1743562452,     1749081974,     1754573505,     1760036775,     1765471515,     1770877458,     1776254336, \
    1781601885,     1786919839,     1792207935,     1797465912,     1802693508,     1807890463,     1813056520,     1818191421, \
    1823294910,     1828366733,     1833406636,     1838414368,     1843389678,     1848332316,     1853242036,     1858118591, \
    1862961735,     1867771226,     1872546821,     1877288280,     1881995363,     1886667834,     1891305456,     1895907996, \
    1900475219,     1905006895,     1909502794,     1913962688,     1918386351,     1922773559,     1927124086,     1931437714, \
    1935714221,     1939953390,     1944155005,     1948318851,     1952444716,     1956532388,     1960581658,     1964592319, \
    1968564166,     1972496995,     1976390604,     1980244793,     1984059365,     1987834122,     1991568871,     1995263420, \
    1998917578,     2002531157,     2006103971,     2009635834,     2013126565,     2016575983,     2019983911,     2023350170, \
    2026674588,     2029956992,     2033197213,     2036395081,     2039550430,     2042663099,     2045732923,     2048759745, \
    2051743406,     2054683752,     2057580629,     2060433886,     2063243376,     2066008950,     2068730466,     2071407781, \
    2074040756,     2076629252,     2079173136,     2081672273,     2084126533,     2086535788,     2088899912,     2091218781, \
    2093492273,     2095720270,     2097902654,     2100039312,     2102130131,     2104175001,     2106173816,     2108126470, \
    2110032860,     2111892887,     2113706454,     2115473463,     2117193824,     2118867444,     2120494237,     2122074117, \
    2123606999,     2125092805,     2126531455,     2127922873,     2129266988,     2130563726,     2131813021,     2133014806, \
    2134169019,     2135275597,     2136334483,     2137345622,     2138308958,     2139224443,     2140092027,     2140911664, \
    2141683312,     2142406930,     2143082479,     2143709923,     2144289231,     2144820370,     2145303313,     2145738035, \
    2146124512,     2146462724,     2146752654,     2146994285,     2147187605,     2147332604,     2147429275,     2147477611, \
} 

#define FLATTOP1024 {\
       -904200,        -906281,        -912525,        -922936,        -937523,        -956294,        -979265,       -1006450, \
      -1037870,       -1073545,       -1113503,       -1157769,       -1206376,       -1259357,       -1316748,       -1378589, \
      -1444922,       -1515792,       -1591246,       -1671336,       -1756114,       -1845635,       -1939959,       -2039146, \
      -2143260,       -2252367,       -2366535,       -2485835,       -2610340,       -2740126,       -2875272,       -3015856, \
      -3161962,       -3313674,       -3471078,       -3634263,       -3803320,       -3978341,       -4159420,       -4346654, \
      -4540140,       -4739978,       -4946268,       -5159114,       -5378619,       -5604888,       -5838029,       -6078149, \
      -6325357,       -6579764,       -6841480,       -7110618,       -7387290,       -7671610,       -7963692,       -8263651, \
      -8571602,       -8887660,       -9211943,       -9544565,       -9885643,      -10235293,      -10593631,      -10960774, \
     -11336837,      -11721935,      -12116182,      -12519694,      -12932583,      -13354962,      -13786943,      -14228636, \
     -14680151,      -15141596,      -15613078,      -16094703,      -16586573,      -17088792,      -17601460,      -18124674, \
     -18658531,      -19203125,      -19758548,      -20324890,      -20902236,      -21490670,      -22090275,      -22701128, \
     -23323306,      -23956878,      -24601916,      -25258483,      -25926642,      -26606451,      -27297964,      -28001232, \
     -28716301,      -29443212,      -30182004,      -30932709,      -31695358,      -32469972,      -33256573,      -34055173, \
     -34865781,      -35688402,      -36523034,      -37369670,      -38228296,      -39098895,      -39981441,      -40875906, \
     -41782250,      -42700433,      -43630405,      -44572109,      -45525484,      -46490460,      -47466961,      -48454903, \
     -49454197,      -50464745,      -51486441,      -52519174,      -53562822,      -54617259,      -55682348,      -56757946, \
     -57843901,      -58940053,      -60046233,      -61162264,      -62287963,      -63423134,      -64567575,      -65721074, \
     -66883412,      -68054358,      -69233675,      -70421114,      -71616419,      -72819323,      -74029551,      -75246816, \
     -76470824,      -77701271,      -78937841,      -80180211,      -81428045,      -82681000,      -83938722,      -85200845, \
     -86466996,      -87736789,      -89009829,      -90285712,      -91564020,      -92844329,      -94126201,      -95409189, \
     -96692835,      -97976672,      -99260220,     -100542991,     -101824484,     -103104190,     -104381586,     -105656141, \
    -106927314,     -108194550,     -109457287,     -110714950,     -111966955,     -113212707,     -114451600,     -115683017, \
    -116906332,     -118120908,     -119326098,     -120521243,     -121705676,     -122878718,     -124039682,     -125187868, \
    -126322568,     -127443064,     -128548628,     -129638521,     -130711996,     -131768296,     -132806653,     -133826293, \
    -134826429,     -135806267,     -136765003,     -137701826,     -138615914,     -139506437,     -140372557,     -141213427, \
    -142028194,     -142815993,     -143575954,     -144307200,     -145008843,     -145679991,     -146319744,     -146927194, \
    -147501427,     -148041522,     -148546553,     -149015585,     -149447679,     -149841891,     -150197270,     -150512860, \
    -150787701,     -151020825,     -151211264,     -151358041,     -151460179,     -151516695,     -151526603,     -151488912, \
    -151402631,     -151266763,     -151080312,     -150842276,     -150551655,     -150207443,     -149808636,     -149354229, \
    -148843213,     -148274583,     -147647329,     -146960446,     -146212926,     -145403764,     -144531954,     -143596493, \
    -142596380,     -141530616,     -140398203,     -139198147,     -137929458,     -136591148,     -135182234,     -133701735, \
    -132148678,     -130522092,     -128821012,     -127044481,     -125191544,     -123261256,     -121252675,     -119164870, \
    -116996916,     -114747894,     -112416895,     -110003019,     -107505374,     -104923078,     -102255258,      -99501051, \
     -96659606,      -93730080,      -90711645,      -87603482,      -84404784,      -81114758,      -77732621,      -74257607, \
     -70688960,      -67025939,      -63267818,      -59413886,      -55463445,      -51415813,      -47270326,      -43026333, \
     -38683201,      -34240314,      -29697073,      -25052896,      -20307219,      -15459498,      -10509206,       -5455835, \
       -298896,        4962078,       10327538,       15797910,       21373602,       27055002,       32842474,       38736362, \
      44736987,       50844649,       57059624,       63382166,       69812506,       76350850,       82997382,       89752261, \
      96615621,      103587574,      110668204,      117857571,      125155710,      132562631,      140078315,      147702721, \
     155435779,      163277393,      171227440,      179285771,      187452209,      195726549,      204108559,      212597980, \
     221194525,      229897876,      238707692,      247623598,      256645194,      265772051,      275003710,      284339683, \
     293779455,      303322480,      312968183,      322715960,      332565178,      342515174,      352565255,      362714701, \
     372962759,      383308649,      393751561,      404290653,      414925056,      425653872,      436476170,      447390993, \
     458397353,      469494232,      480680583,      491955330,      503317368,      514765562,      526298748,      537915735, \
     549615300,      561396193,      573257137,      585196823,      597213916,      609307053,      621474843,      633715866, \
     646028676,      658411799,      670863734,      683382954,      695967902,      708617000,      721328639,      734101188, \
     746932986,      759822352,      772767575,      785766923,      798818638,      811920938,      825072017,      838270047, \
     851513176,      864799529,      878127208,      891494297,      904898853,      918338916,      931812504,      945317613, \
     958852223,      972414292,      986001757,      999612541,     1013244546,     1026895657,     1040563742,     1054246653, \
    1067942223,     1081648273,     1095362606,     1109083013,     1122807267,     1136533132,     1150258356,     1163980674, \
    1177697811,     1191407479,     1205107379,     1218795203,     1232468632,     1246125339,     1259762986,     1273379230, \
    1286971718,     1300538091,     1314075984,     1327583026,     1341056841,     1354495049,     1367895265,     1381255102, \
    1394572170,     1407844075,     1421068426,     1434242826,     1447364883,     1460432201,     1473442389,     1486393055, \
    1499281810,     1512106269,     1524864051,     1537552777,     1550170076,     1562713581,     1575180931,     1587569772, \
    1599877759,     1612102554,     1624241828,     1636293261,     1648254546,     1660123382,     1671897484,     1683574576, \
    1695152396,     1706628696,     1718001241,     1729267810,     1740426199,     1751474218,     1762409696,     1773230476, \
    1783934422,     1794519412,     1804983348,     1815324149,     1825539753,     1835628120,     1845587232,     1855415092, \
    1865109727,     1874669183,     1884091535,     1893374878,     1902517335,     1911517051,     1920372199,     1929080977, \
    1937641612,     1946052357,     1954311493,     1962417329,     1970368203,     1978162484,     1985798569,     1993274886, \
    2000589894,     2007742084,     2014729976,     2021552127,     2028207122,     2034693581,     2041010157,     2047155537, \
    2053128444,     2058927632,     2064551893,     2070000052,     2075270973,     2080363552,     2085276725,     2090009463, \
    2094560773,     2098929701,     2103115330,     2107116780,     2110933212,     2114563822,     2118007845,     2121264558, \
    2124333274,     2127213346,     2129904167,     2132405168,     2134715823,     2136835644,     2138764181,     2140501030, \
    2142045821,     2143398229,     2144557967,     2145524791,     2146298495,     2146878917,     2147265933,     2147459461, \
} 

#define FLATTOP512 {\
       -904200,        -912541,        -937588,        -979412,       -1038132,       -1113915,       -1206973,       -1317565, \
      -1445996,       -1592617,       -1757820,       -1942043,       -2145765,       -2369506,       -2613825,       -2879321, \
      -3166627,       -3476413,       -3809383,       -4166271,       -4547841,       -4954885,       -5388220,       -5848686, \
      -6337144,       -6854474,       -7401571,       -7979343,       -8588709,       -9230595,       -9905932,      -10615652, \
     -11360686,      -12141960,      -12960390,      -13816885,      -14712333,      -15647609,      -16623563,      -17641019, \
     -18700772,      -19803585,      -20950181,      -22141243,      -23377410,      -24659271,      -25987360,      -27362157, \
     -28784077,      -30253472,      -31770623,      -33335737,      -34948943,      -36610288,      -38319731,      -40077143, \
     -41882297,      -43734868,      -45634429,      -47580446,      -49572271,      -51609144,      -53690185,      -55814391, \
     -57980633,      -60187651,      -62434051,      -64718305,      -67038741,      -69393545,      -71780757,      -74198267, \
     -76643812,      -79114975,      -81609182,      -84123698,      -86655628,      -89201914,      -91759331,      -94324488, \
     -96893827,      -99463620,     -102029972,     -104588815,     -107135912,     -109666855,     -112177066,     -114661799, \
    -117116137,     -119534995,     -121913124,     -124245108,     -126525371,     -128748172,     -130907617,     -132997654, \
    -135012080,     -136944545,     -138788551,     -140537464,     -142184511,     -143722791,     -145145275,     -146444814, \
    -147614146,     -148645898,     -149532599,     -150266678,     -150840481,     -151246269,     -151476232,     -151522496, \
    -151377129,     -151032151,     -150479543,     -149711257,     -148719222,     -147495358,     -146031585,     -144319829, \
    -142352038,     -140120190,     -137616304,     -134832449,     -131760761,     -128393448,     -124722804,     -120741223, \
    -116441206,     -111815377,     -106856493,     -101557458,      -95911330,      -89911342,      -83550904,      -76823623, \
     -69723312,      -62244002,      -54379954,      -46125673,      -37475918,      -28425714,      -18970364,       -9105461, \
       1173101,       11869117,       22986057,       34527058,       46494914,       58892063,       71720577,       84982158, \
      98678119,      112809387,      127376481,      142379517,      157818190,      173691771,      189999102,      206738583, \
     223908175,      241505384,      259527266,      277970415,      296830963,      316104575,      335786448,      355871303, \
     376353392,      397226490,      418483895,      440118432,      462122451,      484487826,      507205963,      530267794, \
     553663789,      577383955,      601417838,      625754534,      650382692,      675290519,      700465788,      725895846, \
     751567623,      777467638,      803582012,      829896475,      856396380,      883066710,      909892095,      936856821, \
     963944842,      991139798,     1018425025,     1045783573,     1073198218,     1100651480,     1128125637,     1155602743, \
    1183064646,     1210493004,     1237869302,     1265174872,     1292390911,     1319498499,     1346478619,     1373312176, \
    1399980018,     1426462954,     1452741775,     1478797275,     1504610270,     1530161619,     1555432246,     1580403159, \
    1605055472,     1629370425,     1653329403,     1676913963,     1700105845,     1722887002,     1745239613,     1767146108, \
    1788589185,     1809551833,     1830017348,     1849969353,     1869391820,     1888269083,     1906585862,     1924327279, \
    1941478871,     1958026615,     1973956937,     1989256733,     2003913382,     2017914762,     2031249263,     2043905804, \
    2055873842,     2067143389,     2077705019,     2087549885,     2096669723,     2105056869,     2112704264,     2119605461, \
    2125754638,     2131146600,     2135776789,     2139641288,     2142736824,     2145060775,     2146611170,     2147386697, \
} 

#define FLATTOP256 {\
       -904200,        -937719,       -1038660,       -1208171,       -1448155,       -1761248,       -2150797,       -2620828, \
      -3176000,       -3821568,       -4563319,       -5407517,       -6360835,       -7430276,       -8623098,       -9946720, \
     -11408632,      -13016296,      -14777036,      -16697932,      -18785702,      -21046579,      -23486193,      -26109439, \
     -28920345,      -31921942,      -35116131,      -38503543,      -42083405,      -45853411,      -49809581,      -53946139, \
     -58255382,      -62727562,      -67350770,      -72110828,      -76991187,      -81972840,      -87034241,      -92151234, \
     -97296999,     -102442009,     -107554004,     -112597979,     -117536185,     -122328161,     -126930764,     -131298239, \
    -135382295,     -139132204,     -142494926,     -145415249,     -147835951,     -149697989,     -150940697,     -151502020, \
    -151318753,     -150326811,     -148461512,     -145657876,     -141850950,     -136976135,     -130969538,     -123768332, \
    -115311124,     -105538339,      -94392602,      -81819131,      -67766128,      -52185177,      -35031628,      -16264988, \
       4150702,       26246500,       50048206,       75576021,      102844224,      131860872,      162627514,      195138943, \
     229382964,      265340198,      302983916,      342279904,      383186367,      425653872,      469625318,      515035959, \
     561813460,      609877992,      659142376,      709512260,      760886342,      813156636,      866208772,      919922342, \
     974171283,     1028824290,     1083745277,     1138793862,     1193825883,     1248693952,     1303248023,     1357335993, \
    1410804318,     1463498650,     1515264486,     1565947824,     1615395835,     1663457531,     1709984432,     1754831235, \
    1797856470,     1838923143,     1877899373,     1914658998,     1949082166,     1981055898,     2010474621,     2037240671, \
    2061264757,     2082466387,     2100774262,     2116126609,     2128471489,     2137767044,     2143981702,     2147094327, \
} 

#define FLATTOP128 {\
       -904200,       -1039725,       -1452511,       -2160955,       -3194926,       -4594575,       -6408690,       -8692579, \
     -11505523,      -14907809,      -18957367,      -23706076,      -29195764,      -35453999,      -42489729,      -50288888, \
     -58810060,      -67980348,      -77691558,      -87796863,      -98108080,     -108393719,     -118377937,     -127740536, \
    -136118126,     -143106542,     -148264595,     -151119188,     -151171802,     -147906327,     -140798142,     -129324349, \
    -112974968,      -91264921,      -63746543,      -30022351,       10242230,       57306507,      111342862,      172426133, \
     240524372,      315491279,      397060624,      484842882,      578324308,      676868600,      779721236,      886016517, \
     994787286,     1104977189,     1215455320,     1325032988,     1432482306,     1536556225,     1636009612,     1729620917, \
    1816213946,     1894679272,     1963994763,     2023244784,     2071637590,     2108520524,     2133392629,     2145914398, \
} 

#define FLATTOP64 {\
       -904200,       -1461383,       -3233501,       -6506336,      -11703390,      -19308083,      -29758380,      -43319108, \
     -59940455,      -79114975,      -99749013,     -120067176,     -137569367,     -149058343,     -150751295,     -138481650, \
    -107987616,      -55272910,       22986057,      129021959,      263589466,      425653872,      612197427,      818177385, \
    1036656968,     1259114041,     1475913845,     1676913963,     1852153845,     1992569781,     2090670780,     2141112186, \
} 

#define FLATTOP32 {\
       -904200,       -3313674,      -12116182,      -30932709,      -62287963,     -103104190,     -140372557,     -149354229, \
     -96659606,       50844649,      312968183,      683382954,     1122807267,     1562713581,     1920372199,     2121264558, \
} 

#endif /*FFT_FLATTOP_Q31_H */  

/********************************* END OF FILE *********************************/
